﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using APILocawebGateway.VISA.Respostas;
using APILocawebGateway.VISA;
using APILocawebGateway.VISA.QueryString;
using APILocawebGateway.HTMLHelper;
using System.Text;
namespace Exemplo
{
    public partial class ProcessaVisa : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {


            //Obtendo os dados de retorno
            RespostaVISA respostaVisa = new RespostaVISA();
            respostaVisa.NumeroTransacao = Context.Request[RetornoQueryStringVISA.NUMEROTRANSACAO];
            respostaVisa.NumeroOrdem = Context.Request[RetornoQueryStringVISA.NUMEROORDEM];


            //Setando as configurações
            //Criando o gerenciador de requisições
            GerenciadorRequisicaoVISA gerenciadorRequisicaoVisa = new GerenciadorRequisicaoVISA(Global.configuracaoVisaVBV, respostaVisa);

            RespostaSegundaRequisicaoVISA resp = gerenciadorRequisicaoVisa.RealizarRequisicaoReenvio(); //Realizando o Reenvio


            if (resp.CodigoRetornoTransacao == "0")
            {
                //valido

                /* O código abaixo realiza a captura e retorna uma string, a string retornada é um formulário
                 * que com os valores de retorno da captura. O formulário será submetido para a página configurada
                 * no gateway de pagamento da locaweb, sendo assim após a execução do código abaixo
                 * o usuário é redirecionado para a tela final do processo, tela esta que processa todas
                 * as informações obtidas na captura
                 * 
                 */
                var valor = gerenciadorRequisicaoVisa.RealizarRequisicaoCaptura(resp);
                Context.Response.ClearContent();
                Context.Response.Clear();
                Context.Response.Write(valor);

            }
            else
            {
                //inválido
            }


        }


    }
}
